mod seq;
mod log;
mod lock;
mod cond;
mod parallel;
mod repeat;
mod call;

pub use seq::*;
pub use log::*;
pub use lock::*;
pub use cond::*;
pub use parallel::*;
pub use repeat::*;
pub use call::*;

pub trait ITask {
    fn step(&mut self);
    fn reset(&mut self);
    fn is_finished(&self) -> bool;
}

pub trait ICondition {
    fn check(&mut self) -> bool;
    fn reset(&mut self);
}